1. Field of the Invention
The present invention relates generally to computer systems, and more particularly to providing a messaging interface between one or more computer system environments.
2. Related Art
Telecommunications network products are services provided by telephone companies that are carried on telecommunications networks. A widely known example is dial-1 long distance voice service which allows a customer to dial a 1 plus a ten digit number from his or her home telephone, talk to a party who answers the telephone on the line of the ten digit number dialed, and pay for the telephone call when billed at the end of the month. Although dial-1 is popular, other calling and payment options are sometimes preferable. For example, a calling card call allows an individual to make a call from a phone other than their home phone and charge the call to the home phone account using the calling card.
One such calling and payment option is debit calling which is also referred to as prepaid calling. Debit calling allows a customer to put finds in an account and have those funds debited each time a telephone call is made. Standard debit call processing includes verification of the account balance prior to connecting the call and ongoing balance verification during the call. An example of a typical debit calling customer is a parent who purchases a debit calling card for a child away from home.
Debit calling, as well as other calling and payment options, are carried on a telecommunications network. A telecommunications network comprises two basic elements: telecommunications equipment, which may also be referred to as network components, and links which connect the equipment or components. Because call handling and information processing for debit calling differs from other voice services, debit calls are handled by specialized components in the telecommunications network. That is, debit calls are handled using a specialized computer system.
A computer system, such as the those used for debit calling, has a need to communicate with other computer systems to exchange information between one or more computer programs executing on each computer system. A particular computer program may need to communicate with programs which are executed on the same computer system or with programs which are executed on other systems throughout the network.
To allow computer programs to communicate with each other, developers write programs to be compatible with standards or protocols. A standard or protocol may be used throughout the telecommunications industry or it may be owned by a private entity for use with computer systems sold or operated by that entity. Protocols determine what information is transmitted, what timing values should be associated with the transfer of information, and what format should be used to transmit the information.
Debit calling is processed by a plurality of computer systems that provide switching and routing functionality, handle individual calls, and store customer account information. However, computer systems typically run programs that use different protocols. Unfortunately, a computer program using one protocol generally cannot communicate with a computer program using another protocol.
This can be overcome by providing code in the computer program that translates the protocol received from and sent to the other computer program. However, if a computer program needs to communicate with multiple computer programs, a significant amount of additional code may be needed to allow the computer programs to communicate.
As the length of a computer program increases, the cost of developing, building, and maintaining the computer system increases. Also, lengthy code and complex equipment requirements increase the possibility of maintenance problems. Development time and cost increase because longer computer programs require more manpower and time to develop. Cost of building the computer system increases because additional equipment such as links and memory are required. Maintenance costs increase because the additional code and equipment are more costly to maintain. Also, additional equipment and code increase the chances of more performance problems because the additional equipment may have failures and the additional code may have errors that will affect the entire program or system.